<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 延时器 是一个异步任务
    // console.log(1);
    // setTimeout(function () {
    //     console.log(2);
    // })
    // console.log(3);


    // p.then(callback)  p.catch(callback) 状态改变之后 => 执行既定的回调函数(异步任务)
    // Promise对象(实例) => 状态改变之后 => 执行既定的回调函数(异步任务(p.then() p.catch())放在所有同步任务执行完毕之后 执行 )
    // debugger
    // console.log(1);
    // var p = new Promise(function (resolve, reject) {
    //     debugger
    //     console.log(2);
    //     resolve(3); // {<fulfilled>:3}
    // })
    // p.then(function (arg) {
    //     debugger
    //     console.log(arg); // 3
    // })
    // console.log(4);



    console.log(1);
    var p = new Promise(function (resolve, reject) {
        console.log(2);
        resolve(3); // {<fulfilled>:3}
    })
    p.then(function (arg) { //callback1
        console.log(arg); // 3
    })
    setTimeout(function () { // callback2
        console.log(4);
    })
    console.log(5);




</script>

</html>